package com.wy.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;
import com.wy.entity.GoodsDeposit;
import com.wy.entity.GoodsEvaluation;

import java.math.BigDecimal;
import java.util.List;

/**
 * @Author:王渝
 * @Date: 2022/11/30  11:09
 * @Version 1.0
 */
public interface GoodsEvaluationService extends IService<GoodsEvaluation> {

    /**
     * 保存评论
     * @param goodsEvaluation 评论信息
     * @return
     */
    boolean saveComment(GoodsEvaluation goodsEvaluation);

    /**
     * 根据用商品id查询他的平均评分
     * @param goodsId 用户id
     * @return
     */
    BigDecimal getAvgRateBySellerGoodsId(Long goodsId);

    /**
     * 根据用用户id查询他的平均评分
     * @param userId 用户id
     * @return
     */
    BigDecimal getAvgRateBySellerUserId(Long userId);

    /**
     *
     * 根据卖方id查询全部评价
     * @param sellerUserId
     * @return
     */
    List<GoodsEvaluation> getAllBySellerUserId(Long sellerUserId);

    /**
     * 查询全部评价（我评价的）
     * @param buyUserId 买方id
     * @param currentPage 当前页
     * @param pageSize 每页大小
     * @return
     */
    PageInfo<GoodsEvaluation> getAllByBuyUserId(int currentPage, int pageSize, Long buyUserId);

    /**
     * 查询全部评价（回复我的）
     * @param buyUserId 买方id
     * @param currentPage 当前页
     * @param pageSize 每页大小
     * @return
     */
    PageInfo<GoodsEvaluation> getAllByBuyUserId2(int currentPage, int pageSize,Long buyUserId);


    /**
     * 查询全部评价（回复我的）

     * @param currentPage 当前页
     * @param pageSize 每页大小
     * @return
     */
    PageInfo<GoodsEvaluation> queryAllAdmin(int currentPage, int pageSize);
}
